Mise à jour le 13/11/2021
Les conventions de nommage

Les conventions de nommage

C'est le genre de sujet qui fait couler beaucoup de sang entre pas mal de développeurs, c'est un peu dommage car ce serait plus intéressant qu'ils débattent plutôt à propos des RFC, histoire que la controverse s'élève au dessus des préférences personnelles.

Le PHP est surement encore décrié car le langage lui même n'a pas respecté à ses débuts de convention de nommage, notamment au niveau de ses fonctions.
On retrouve ainsi des noms de fonctions comme strtolower (flatcase), str_pos (snake_case) et d'autres curiosités comme bin2hex (le 2 voulant dire to) et cal_to_jd
Concernant le nommage des classes (PascalCase) et de leurs méthodes (camelCase), rien à signaler.

1. camelCase

Il est souvent confondu avec le PascalCase alors que la première lettre du premier mot doit être en majuscule.
Le camelCase est utilisé en PHP pour le nom des méthodes de classe.
Tous les mots sont attachés, la première lettre de chaque mot dès le deuxième mot est en majuscule.

Exemple: doSomething

2. PascalCase

Le PascalCase ou StudlyCaps est actuellement la convention de nommage à utiliser pour le nom des classes en PHP.

Tous les mots sont attachés, la première lettre de chaque mot est en majuscule.

Exemple : ChickenIterator : nom de classe composé des deux mots chicken et iterator.

3. snake_case

Le snake_case est utilisé dans certains noms de fonctions natives de PHP.

Tous les mots sont séparés par un underscore, les lettres de chaque mot sont en minuscule.

Exemple : chicken_iterator

4. kebab-case

Le kebab-case n'est pas utilisé en PHP, mais est utilisé en HTML pour le nommage des classes ou dans le nom des URLs.

Tous les mots sont séparés par un tiret, les lettres de chaque mot sont en minuscule.

Exemple : chicken-iterator

5. flatcase

Tous les mots sont attachés, les lettres qui les composent sont en minuscule.

Exemple: strtolower
# UPPER_CASE
L'UPPER_CASE est utilisé en PHP pour les noms des constantes.
Les mots sont séparés par des underscore, les lettres qui les composent sont en majuscule.
Pendant un moment, c'était aussi conventionnel de nommer les colonnes de ses bases de données en UPPER_CASE. Cela dérive actuellement plutôt vers du snake_case.

Exemple : STR_PAD_RIGHT

6. WikiCase

Rarement entendu autour d'une table, c'est du PascalCase où il est imposé que chaque lettre majuscule ne soit jamais suivie par une autre lettre majuscule.

Ex: CreateAJob est interdit et doit être remplacé par CreateJob